如何在Qt中使用zlib | 您所在的位置:网站首页 › mingw package mingw32-libz not found › 如何在Qt中使用zlib |
前言
环境:qt5.9.9 、 zlib1.2.1、 windows10、QtCreator4.11.0 本文介绍了在Qt中使用zlib的方式。使用的场景是在上位机软件中使用解压缩功能。 点击此处下载本文完整的示例代码。 问题比较麻烦的事情在于,截至目前最新的zlib支持到使用vs2015进行编译,而已有的上位机软件是使用minGW编译的,使用vs编译的dll库没办法在minGW中使用。现在摆在面前有两条路,一种是把上位机软件使用msvc重新编译,然后再使用vs2015编译的zlib库。另一种使用minGW编译zlib,然后再供上位机软件调用。两种方式理论上行得通,但是实践起来可能会出现各种问题,甚至行不通。 这时候通过看博客发现qt中居然自带了zlib库,于是我搜索了一下,发现在minGW下确实有zlib的头文件,在qt帮助文档中也发现了关于zlib的描述。 于是我新建了一个工程将在pro文件中增加LIBS+=lz,然后包含zlib.h,居然真的好用。需要注意的是我的zlib是在minGW下的,使用msvc构建是不行的。同时还必须包含qt的core模块。不过打开了zlib.h文件我才发现这里边都是些最基础的操作接口,看的一脸懵,根本不知道从何下手。这时候我突然想到了zlib源代码下的例程。 解决问题我需要用到的是解压缩的操作,于是在源代码中找到了解压缩的高级点的API接口以及例程,把其源文件加到我新建的项目中,然后编译,结果成功了。 运行结果使用了一个名为“modbus配置说明.zip”的压缩文件进行测试,输出其内部的所有文件信息。 至此可以在qt中使用zlib库了。 |
CopyRight 2018-2019 实验室设备网 版权所有 |